Traditional software deployment generally includes the following sequence: (i) ideation of a software product including one or more features, (ii) development of the one or more features, (iii) testing of each of the one or more features, (iv) carrying out a feature freeze, (v) testing the software product, and (vi) executing a release of the software product. Alternate deployment techniques (also referred to herein as agile software deployment) include carrying out ideation, development, testing, and deployment for each respective one of multiple features independently.
Additionally, such software deployment practices can be supplemented with a preliminary release of a given feature to a small set (or sub-set) of users to evaluate the real-world impact of the given feature. Such a preliminary release is also referred to herein as a “dark launch.” However, dark launches face challenges, for example, in selecting appropriate and/or productive users. Certain users may not provide useful feedback, and may even provide inaccurate and/or harmful feedback, which may cause future users to forego usage of the product in question.